Page({
  data: {
    // 轮播图图片列表
    swiperList: [],
    loading: true,
    // 工具栏相关状态
    isExpanded: false,
    showSearchPanel: false,
    showCategoryPanel: false,
    // 搜索相关数据
    searchText: '',
    searchResults: [],
    showResults: false,
    // 筛选条件
    categories: ['全部', '⭐⭐⭐⭐⭐', '⭐⭐⭐⭐', '⭐⭐⭐', '⭐⭐'],
    selectedCategory: '全部',
    // 模拟数据列表
    dataList: [
      {    id: 1, 
        title: '法国大革命', 
        description: `法国大革命（法语：La Révolution Française，英语：The French Revolution），是指1789年7月14日至1794年7月27日在法国爆发的革命，统治法国多个世纪的波旁王朝及其统治下的君主制在三年内土崩瓦解。
        以魁奈为代表的重农学派深受中国思想影响，他被称为“欧洲的孔子”。马克思认为他们是现代政治经济学的鼻祖 [10]。托克维尔将重农学派视为法国大革命的理论先知。
        法国在这段时期经历了史诗式的转变：贵族和宗教特权不断受到自由主义政治组织及上街抗议民众的冲击，旧的观念逐渐被全新的天赋人权、三权分立等民主思想所取代。`, 
        category: '⭐⭐⭐⭐⭐'  },
      { id: 2, title: '法兰西第一共和国', description: '法兰西第一共和国（国名为法兰西共和国，法语：République française）是法国大革命期间建立的法国历史上第一个资产阶级共和国。1792年9月22日，新选出的议会即国民公会开幕。国民公会通过废除君主制的议案，宣布成立法兰西共和国——历史上称为法兰西第一共和国。经代表工商业资产阶级利益的吉伦特派掌权和雅各宾派的专政。热月政变后，又相继有热月党人、督政府和执政府时期。1804年5月为拿破仑建立的“法兰西第一帝国”所代替。', category: '⭐⭐⭐' },
      { id: 3, title: '题目3', description: '这是题目3的详细信息', category: '⭐⭐⭐⭐' },
      { id: 4, title: '题目4', description: '这是题目4的详细描述信息', category: '⭐⭐⭐' },
      { id: 5, title: '题目5', description: '这是555555555', category: '⭐⭐' },
      { id: 6, title: '题目6', description: '这是66666', category: '⭐⭐⭐⭐⭐' }
    ],
    filteredList: [] // 筛选后的列表
  },

  onLoad() {
    // 初始化时显示全部数据
    this.setData({
      filteredList: this.data.dataList
    });
    this.getSwiperData();
    // 将题目数据保存到全局，供详情页使用
    const app = getApp();
    if (!app.globalData) {
      app.globalData = {};
    }
    app.globalData.products = this.data.dataList;
  },
    // 调用轮播图接口的方法
    getSwiperData: function() {
      wx.request({
        url: 'http://4077b8e9.r3.cpolar.top/dms-backend/cotentdms/banner/list?pageNum=1&pageSize=10', // 接口地址
        method: 'GET',
        header: {
          'content-type': 'application/json'
        },
        success: (res) => {
          console.log('轮播图数据获取成功:', res.data);
  
          // 假设接口返回的数据格式为 { data: [{ imageUrl: '...' }] }
          // 提取图片URL并更新数据
          if (res.data && res.data.data && res.data.data.length > 0) {//res.data.    data修改
            const imageUrls = res.data.data.map(item => item.imageUrl || '');
            this.setData({
              swiperList: imageUrls,
              loading: false
            });
          } else {
            // 若接口返回数据格式不符合预期，使用默认数据
            this.setDefaultSwiperData();
          }
        },
        fail: (err) => {
          console.error('轮播图数据获取失败:', err);
          wx.showToast({
            title: '数据加载失败',
            icon: 'none'
          });
          // 失败时使用默认数据
          this.setDefaultSwiperData();
        },
        complete: () => {
        }
      });
    },
  
    // 设置默认轮播图数据（兜底）
    setDefaultSwiperData: function() {
      this.setData({
        swiperList: [
          '../ImaG/card_after_training (1).png',
          '../ImaG/card_after_training (3).png',
          '../ImaG/card_after_training.png'
        ],
        loading: false
      });
    },
    
    // 图片加载错误处理
    onImageError: function(e) {
      console.error('图片加载失败:', e);
      const index = e.currentTarget.dataset.index;
      const newSwiperList = [...this.data.swiperList];
      // 将加载失败的图片替换为默认图片
      newSwiperList[index] = '../ImaG/card_after_training.png';
      this.setData({
        swiperList: newSwiperList
      });
    },
  
  /**
   * 跳转到产品详情页
   */
  navigateToProductDetail(e) {
    const productId = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '/pages/index/product-detail?id=' + productId
    });
  },

  /**
   * 显示搜索面板
   */
  showSearch() {
    this.setData({
      showSearchPanel: !this.data.showSearchPanel,
      showCategoryPanel: false // 关闭分类面板
    });
  },

  /**
   * 显示分类面板
   */
  showCategories() {
    this.setData({
      showCategoryPanel: !this.data.showCategoryPanel,
      showSearchPanel: false // 关闭搜索面板
    });
  },

  /**
   * 切换展开/收起状态
   */
  toggleExpand() {
    this.setData({
      isExpanded: !this.data.isExpanded
    });
  },

  /**
   * 监听搜索框输入
   */
  onSearchInput(e) {
    this.setData({
      searchText: e.detail.value
    });
  },

  /**
   * 执行搜索
   */
  doSearch() {
    const searchText = this.data.searchText.trim().toLowerCase();
    const selectedCategory = this.data.selectedCategory;
    let results = [];

    if (searchText) {
      // 进行搜索
      results = this.data.dataList.filter(item => {
        // 如果选择了特定类别，则只在该类别中搜索
        const categoryMatch = selectedCategory === '全部' || item.category === selectedCategory;
        // 搜索标题和描述
        const textMatch = item.title.toLowerCase().includes(searchText) || 
                          item.description.toLowerCase().includes(searchText);
        return categoryMatch && textMatch;
      });

      this.setData({
        searchResults: results,
        showResults: true
      });
    } else {
      // 如果搜索框为空，则不显示搜索结果
      this.setData({
        showResults: false
      });
      // 应用当前的分类筛选
      this.applyCategoryFilter(selectedCategory);
    }
  },

  /**
   * 清空搜索
   */
  clearSearch() {
    this.setData({
      searchText: '',
      showResults: false
    });
    // 清空搜索后，重新应用分类筛选
    this.applyCategoryFilter(this.data.selectedCategory);
  },

  /**
   * 选择分类
   */
  selectCategory(e) {
    const category = e.currentTarget.dataset.category;
    this.setData({
      selectedCategory: category,
      showResults: false // 切换分类时隐藏搜索结果
    });
    // 应用分类筛选
    this.applyCategoryFilter(category);
  },

  /**
   * 应用分类筛选
   */
  applyCategoryFilter(category) {
    if (category === '全部') {
      this.setData({
        filteredList: this.data.dataList
      });
    } else {
      const filtered = this.data.dataList.filter(item => item.category === category);
      this.setData({
        filteredList: filtered
      });
    }
  }
});
